/* 
 * @titulo: datos_generales.js
 */

$(document).ready(function(){
  $("body").delegate("#form_general input",{
    keyup: function(){
      general_valida_tecla(this)
    },
    click: function(){
      general_valida_tecla(this)
    },
    blur: function(){
      general_valida_tecla(this)
    }
  });
});


function datos_generales(){
  $('#general').load('general/datos_generales.php',
    function(){
      $('#general').dialog({
        modal: true,
        title: 'Configuración de datos generales',
        open: function(){
          general_valida_campos('#general input')
          },
        width: 685,
        resizable: false,
        buttons: [
        {
          text: 'Actualizar',
          click: function(){
            if (general_valida_campos('#general input')){
              if (banco_validar('#form_general')){
                $('#form_general').submit()
              }
            }else{
              dialogo_notificar('Existen campos coloreados que no están cumplimentados correctamente')
            }
          }
        },
        {
          text: 'Salir',
          click: function(e){
            $(this).dialog('close')
          }
        }
        ]
      });
      $('#form_general').ajaxForm({
        dataType: 'json' ,
        success: function(datos){
          if (datos.error){
            dialogo_notificar(datos.msj)
          }else{
            $("#general").dialog("destroy");
          }
        },
      error: (function(obj,error, execp){
        alert('Error ajax: '+ execp + ' | '+ error + busca_error_ajax(obj));
      })
    });
    $('#gen_correo_ayuda').click(
     function(e){
       e.preventDefault();
       dialogo_notificar(
       'Datos necesarios para la gestión del correo: <br><br>' +
       '<b>Correo:</b> e-mai desde donde se envía el correo<br>'+
       '<b>Servidor:</b> servidor smtp del correo<br>'+
       '<b>Usuario y password:</b> datos para el servidoar de correo<br>'+
       '<b>Nombre</b>: nombre de quien envía el correo.<br><br>'+
       '<b>Cuenta baancaria</b>: cuenta de la asociación'
     );
     })
  });
}

function general_valida_tecla(pthis){
  var nombre= $(pthis).attr('name');
  var valor=  $(pthis).val();
  var flag= false;
  switch (nombre){
    case 'correo':
      flag= (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor))
      break;
    case 'servidor':
      flag= (/^\w{2,}\.\w{2,}.\w{2,3}$/.test(valor))
      break;    
    case 'usuario':
    case 'desde':
    case 'password':
      flag=  (/^\S{3,}$/.test(valor))
      break;
    case 'sucursal':
    case 'banco':
      flag=  (/^[0-9]{4}$/.test(valor))
      break;
    case 'dc':
      flag=  (/^[0-9]{2}$/.test(valor))
      break;
    case 'cuenta':
      flag=  (/^[0-9]{10}$/.test(valor))
      break;
    default:
      flag= true;
  }
  (flag) ? $(pthis).css("background-color","#fff") : $(pthis).css("background-color","#fBB");
  return (flag);
}

function general_valida_campos(selector){
  var flag = true;
  var flag_temp= false;
  $(selector).each(function(){
    if(typeof($(this).attr('id')) != "undefined"){
      flag_temp= general_valida_tecla(this); 
      flag =  flag && flag_temp;
    }
  });
  return flag;
};


